Arrangement With Means for Ensuring Bona Fide of Received Signals

ABSTRACT

An arrangement including a receiver that receives a plurality of signals from different source that are modulated with a common carrier, where each signal of the signals experiences a transit delay and Doppler frequency shift before reaching the receiver. The receiver includes means, such as a directional antenna, to ensure that the received signals are bona fide, or at least not subject to the same bogus signal or signals to which a second receiver may be subjected. The arrangement further includes means for processing a signal derived from the signals received by the receiver with signals provided by a supplicant module to reach a conclusion about the bona fide of the signals provided by the supplicant module.

This application is a continuation of U.S. patent application Ser. No.12/012,470, file Feb. 2, 2008.

BACKGROUND OF THE INVENTION

This invention relates to global positioning, and more particularly tothe issue of confidence that a user has in global positioninginformation that equipment may provide. In the context of thisdisclosure, global positioning encompasses the absolute geo-location aswell are the relative location of one object relative to another object.

There are numerous electronic ways by which global positioning may beprovided. Some are terrestrial, and some are based on satellites. Asatellite system that currently is most commonly used is the GlobalPositioning System (GPS), and it is quite well known in the sense thatmany people have GPS receivers that assist them in determining theirphysical location. GPS uses a collection of satellites that are arrangedto orbit the Earth so that at least four satellites are always withinthe reception range of a receiver, at any point on the globe. One of thesignals that the satellites transmit is a signal at frequency L1, whichis used as a carrier to modulate a data signal that is itself modulatedwith a Code Division Multiple Access (CDMA) code, commonly referred toas the C/A code. The CDMA code that is used by each satellite is uniqueto the satellite, but it is publicly known, which allows the receiver todiscriminate, or detect, the individual signal of each of the satellitesin the presence of signals from the other satellites and in the presenceof noise. Actually, each satellite transmits at least one other signal,employing the same carrier frequency that is shifted 90 degrees. Thissecond signal is modulated by another code, known as the P(Y) code. TheP(Y) code is either the P, which is publicly known, or the encrypted Ycode. Today, all satellites use the Y code and, consequently, theresulting transmitted signal that is encoded with the Y code cannot beused by anyone other than those who have the decryption algorithm andthe key. Each satellite transmits yet another signal, on frequency L2,but the disclosure herein focuses on frequency L1 only. It should beunderstood that the principles disclosed herein apply to L1, L2, or anyof the new frequencies that are planned for satellite navigation.

Because the invention that is disclosed herein is illustrated by way ofan example that is based on the pervasive GPS system, the followinggives an abbreviated review of the GPS signals and the processing thattakes place in a conventional GPS receiver. It should be kept in mindthat the deficiency in the GPS system that is mentioned later is foundin all other non-encrypted systems, and that the applicability of theinvention disclosed herein extends beyond the GPS system. It should bekept in mind, therefore, that terms referring to global positioning(without initial letters being capitalized) refer to the termsgenerically, and not necessarily solely to GPS.

A conventional GPS receiver, shown in FIG. 1, simultaneously receives anumber of satellite signals on frequency L1, where the signaltransmitted by satellite n can be expressed as

S _(transmitted) =A ^(n) D ^(n)(t)x _(C/A) ^(n)(t)cos(2π(f _(L)1)t+φ ₁+B ^(n) D ^(n)(t)x _(Y) ^(n)(t)sin(2π(f _(L)1)t+φ ₁)  (1)

where D^(n)(t) is the data signal, x_(C/A) ^(n)(t) is the C/A codesignal assigned to satellite n, f_(L)1 is the frequency of the carrier,and φ₁ is the phase of the carrier relative to the beginning of the dataand code signals.

A GPS receiver can engage in the processing of signals as if all of thepossible satellites are present but, of course, some of the satellitesare not within range of the GPS receiver's antenna so the processingresults for those satellites are not viable. The following analysisfollows the signal of only one satellite and, for sake of simplicity,superscript n is omitted from the equations, and the C/A subscript isshortened to C.

The transmitted signal is subjected to transit time delay to thereceiver, τ, and the signal that is received by a receiver's antennaexperiences a Doppler frequency shift, f_(D), due to the satellite'smovement in its orbit and possible receiver motion. Also, thetransmitter and the receiver do not have a common clock, which meansthat even when the transmitter and the receiver clocks are at identicalfrequency, there is, nevertheless, a phase difference between them.Thus, the received signal thus can be expressed as

S _(received)=(AD(t−τ)x _(C)(t−τ)cos(2π(f _(L)1+f_(D))(t−τ)+φ₁)+BD(t−τ)x _(Y)(t−τ)sin(2π(f _(L)1+f _(D))(t−τ)+φ₁)  (2)

or simplified to

S _(received)=(AD(t−τ)x _(C)(t−τ)cos(2π(f _(L)1+f _(D))t+φ₁−φ₂)+BD(t−τ)x_(Y)(t−τ)sin(2π(f _(L)1+f _(D))t)+φ₁−φ₂)  (3)

As shown in FIG. 1, the received signal is amplified in element 10,conventionally downshifted to a preselected intermediate frequency (IF)by multiplying the received signal in element 12 by signal

sin(2π(f _(L)1−f _(IF))t+φ ₃)  (4)

and passing the resulting signal through low pass filter 15. The signalof equation (4) is generated from reference oscillator 20 by frequencysynthesizer 22, where φ₃ is the phase of the locally generated signal(relative to the beginning of the data and code signals at thetransmitting satellite which, of course, is unknown). The result at theoutput of the low pass filter is

S _(downshifted) =AD(t−τ)x _(C)(t−τ)cos(2π(f _(IF) +f _(D))t+φ₁−φ₂−φ₃)+BD(t−τ)x _(Y)(t−τ)sin(2π(f _(IF) +f _(D))t+φ ₁−φ₂−φ₃)  (5)

or simplified to

S _(downshifted) =AD(t−τ)x _(C)(t−τ)cos(2π(f _(IF) +f _(D))t+θ₁)+BD(t−τ)x _(Y)(t−τ)sin(2π(f _(IF) +f _(D))t+θ ₁).  (6)

It may be noted that the above-described use of downshifting by use ofan IF modulator 12 and low pass filter 15 is illustrative, and that theA/D can be connected directly to amplifier 10 and controlled to generatea digital signal as if it were downshifted as shown in FIG. 1.

The output signal of low pass filter 15 is digitized in A/D converter 18and applied to a combination of processor 100 and associated memory 110where the remainder of the processing takes place.

The processing begins with a signal acquisition (software) module thatincludes a code generator element and a carrier generation module. Thecode generation module develops signal

x _(C)(t−{circumflex over (τ)}),  (7)

where {circumflex over (τ)} is an estimate of τ, and the carriergenerator module creates two signals that may be viewed as the phasor

Ψ=cos 2π(f _(IF) +{circumflex over (f)} _(D))t+{circumflex over (θ)}₁)−i sin 2π(f _(IF) +{circumflex over (f)} _(D))t+{circumflex over (θ)}₁),  (8)

where {circumflex over (f)}_(D) is an estimate of the Doppler frequencyshift {circumflex over (f)}_(D), and {circumflex over (θ)}₁ is anestimate of the phase θ₁. Multiplying the received (and downshifted)signal of equation (6) by the code signal of equation (7) and the phasorof equation (8) and then integrating the product over a preselectedinterval that is long enough to reliably detect a correlation peak (forexample, more than one period of the C/A code) yields:

∫F _(C)Ψ cos(2π(f _(IF) +f _(D))t+θ ₁)]+∫Ψ sin(2π(f _(IF) +f _(D))t+θ₁)]  (9)

where

F _(C) =AD(t−τ)x _(C)(t−τ)x _(C)(t−{circumflex over (τ)}) and F _(Y)=BD(t−τ)x _(Y)(t−τ)x _(Y)(t−τ)x _(C)(t−{circumflex over (τ)})  (10)

Equation (9) expands to

$\begin{matrix}{{S_{I} + {iS}_{Q}} = {{\int{F_{C}\begin{Bmatrix}{{{\cos \left( {{2{\pi \left( {f_{IF} + {\hat{f}}_{D}} \right)}t} + {\hat{\theta}}_{1}} \right)}\cos \left( {{2{\pi \left( {f_{IF} + f_{D}} \right)}t} + \theta_{1}} \right)} -} \\{i\; {\sin \left( {{2{\pi \left( {f_{IF} + {\hat{f}}_{D}} \right)}t} + {\hat{\theta}}_{1}} \right)}{\cos \left( {{2{\pi \left( {f_{IF} + f_{D}} \right)}t} + \theta_{1}} \right)}}\end{Bmatrix}}} + {\int{F_{Y}\begin{Bmatrix}{{{\cos \left( {{2{\pi \left( {f_{IF} + {\hat{f}}_{D}} \right)}t} + {\hat{\theta}}_{1}} \right)}{\sin \left( {{2{\pi \left( {f_{IF} + f_{D}} \right)}t} + \theta_{1}} \right)}} -} \\{i\; {\sin \left( {{2{\pi \left( {f_{IF} + {\hat{f}}_{D}} \right)}t} + {\hat{\theta}}_{1}} \right)}{\sin \left( {{2{\pi \left( {f_{IF} + f_{D}} \right)}t} + \theta_{1}} \right)}}\end{Bmatrix}}}}} & (11)\end{matrix}$

or to

$\begin{matrix}{{S_{I} + {\; S_{Q}}} = {{\int{F_{C}\begin{Bmatrix}{{\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D} + {\hat{f}}_{D}} \right)}t} + \theta_{1} + {\hat{\theta}}_{1}} \right)} +} \\{{\cos \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)} -} \\{{{sin}\left( {{2{\pi \left( {{2f_{IF}} + f_{D} + {\hat{f}}_{D}} \right)}t} + \theta_{1} + {\hat{\theta}}_{1}} \right)} +} \\{{sin}\left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}\end{Bmatrix}}} + {\int{F_{Y}{\begin{Bmatrix}{{\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D} + {\hat{f}}_{D}} \right)}t} + \theta_{1} + {\hat{\theta}}_{1}} \right)} +} \\{{\sin \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)} +} \\{{{cos}\left( {{2{\pi \left( {{2f_{IF}} + f_{D} + {\hat{f}}_{D}} \right)}t} + \theta_{1} + {\hat{\theta}}_{1}} \right)} -} \\{{cos}\left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}\end{Bmatrix}.}}}}} & (12)\end{matrix}$

Since, as indicated above,

F _(Y) =BD(t−τ)x _(Y)(t−τ)x _(C)(t−{circumflex over (τ)}),  (t (13)

and the C/A code is orthogonal to the Y code, the second integral ofequation (12) yields zero. Also, the integration acts like a low passfilter that discards the high frequency signals of cos2π(2f_(IF)+f_(D)+{circumflex over (f)}_(D))t and sin2π(2f_(IF)+f_(D)+{circumflex over (f)}_(D))t, leaving

$\begin{matrix}{{S_{I} + {iS}_{Q}} = {\int{F_{C}{\begin{Bmatrix}{{+ {\cos \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}}\end{Bmatrix}.}}}} & (14)\end{matrix}$

It can be demonstrated that S_(I) ²+S_(Q) ² equals

$\begin{matrix}{{S_{I}^{2} + S_{Q}^{2}} = {{\left( {\int{F_{C}\; {\cos \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}}} \right)^{2} + \left( {\int{F_{C}\; {\cos \left( {{2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t} + \theta_{1} - {\hat{\theta}}_{1}} \right)}}} \right)^{2}} = {\left( {\int{F_{C}\; \cos \; 2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t}} \right)^{2} + \left( {\int{F_{C}\; \sin \; 2{\pi \left( {f_{D} - {\hat{f}}_{D}} \right)}t}} \right)^{2}}}} & (15)\end{matrix}$

which is independent of (θ₁−{circumflex over (θ)}₁). It can be alsodemonstrated that good estimates for {circumflex over (τ)}, and f_(D)are attained when code generation module is adjusted as to introduce adelay, {circumflex over (τ)}, and the carrier generator module isadjusted as to the introduced {circumflex over (f)}_(D) so as tomaximize S_(I) ²+S_(Q) ².

For the more visually inclined reader, FIG. 2 shows a diagrammaticrepresentation of the processing that takes place in the acquisitionmodule.

The task of the acquisition module is to come up with a first-cutapproximation of the delay and the Doppler frequency shift. A refinementof the approximations takes place in a tracking module, whose functionis to both refine the estimates and track the changes in τ, f_(D) and θ₁as conditions change, and whose diagrammatic representation is shown inFIG. 3.

The tracking module contains a phase lock loop comprising multiplier 31that multiplies the S_(downshifted) signal of equation (6) by the phasorof equation (8) provided by numerically controlled oscillator (carrierNCO) 32. The output of multiplier 31 is multiplied in multiplier 33 bythe code signal obtained from code generator 38. The output ofmultiplier 33 is integrated in module 34 and applied to discriminator35, which develops a carrier error signal (θ₁−{circumflex over (θ)})that controls the frequency of the carrier NCO.

The output of multiplier 31 is also applied to multiplier 36, where itis multiplied by the code signal that is generated by element 38, butdelayed by half of the duration of code C/A chip; i.e.,

x _(C)(t−{circumflex over (τ)}−T _(C)/2),  (16)

and to multiplier 37, where it is multiplied by the code signal that isgenerated by element 38, but advanced by half of the duration of codeC/A chip; i.e.,

x _(C)(t−{circumflex over (τ)}+T _(C)/2).  (17)

The outputs of multipliers 36 and 37 are integrated in elements 41 and42, respectively, and applied to discriminator 39 which develops a delayerror signal (τ−{circumflex over (τ)}) that is applied to code generator38, controlling the frequency of the clock that generates the code.

While in both elements 32 and 38 the frequency of a clock is controlledby the respective discriminators, the result is that the generatedcarrier frequency phasor that is applied to multiplier 31 is in the form

cos(2π(f _(IF) +{circumflex over (f)} _(D))t+{circumflex over (θ)} ₁)−isin(2π(f _(IF) +{circumflex over (f)} _(D))t+{circumflex over (θ)}₁)  (18)

with the approximations {circumflex over (f)}_(D) and {circumflex over(θ)}₁ tracking closely the f_(D) and θ₁ of equation (6), and thegenerated code

x _(C)(t−{circumflex over (τ)})  (19)

has a {circumflex over (τ)} that is a close estimate of τ.

The code and the carrier measurement are applied to subsequent modules(not shown) that decode the navigation message, determine satelliteephemeris, and compute the pseudo-range, and with correspondingpseudo-ranges obtained by processing other satellites, the physicallocation of the receiver is computed (through quadralateration) anddisplayed.

All of the above is conventional, and the reader is invited to perusethe book “Global Positioning System” by Misra and Enge, Ganga-JamunaPress, 2006 for further details. In general, the GPS literature isenormous. It describes alternate implementation to the above, where, forexample, the code and carrier removal processes described by equations(7), (8) and (9) are done in different order. It also describesimplementations that use correlator spacings other than those chosen inequations (16) and (17). The literature is also replete withdiscriminator strategies that differ from the simple “early minus late”strategy described here.

In commercial applications the C/A code is publicly known and,consequently, GPS receivers are vulnerable to spoofing. A hostile partycan generate a facsimile of one or more satellite signals that carryincorrect information, and a GPS receiver that accepts the bogus signalswill compute an incorrect position and, in fact, may be caused tocompute a position that the hostile party wishes to have the receivercompute. However, spoofing is not a problem for those who are able touse the Y code because this code is not publicly known, so a hostileparty cannot create a signal that appears bona fide. This problem is notunique to GPS receivers, of course. It is endemic to all globalpositioning systems that rely on insecure signals.

The primary object of this disclosure is to create a method and a meansfor having confidence that a global position computation, or anassertion based on a global position, is bona fide.

Another object of this disclosure is a receiver that is adapted toprovide a signal that can be authenticated as to source of the receivedsignal, with the consequence of the authentication of the source beingthat geographical position of the receiver is also determined withcertainty.

SUMMARY OF THE INVENTION

The above and other objectives are achieved, and an advance in the artis realized with a receiver that receives a plurality of signals thatare modulated with a common carrier, where each signal of said signalsoriginates at a different source and experiences a transit delay andDoppler frequency shift before reaching the receiver, and where thetransit delay and Doppler frequency shift are related to position andmovement of each of the respective sources. In addition, the receiverincludes means, such as a directional antenna, to ensure that thereceived signals are bona fide, or at least not subject to the samebogus signal or signals to which a second receiver may be subjected. Inone illustrative embodiment, the receiver includes a port for outputtinga downshifted digital representation of the signal, or outputting asignal that results from processing the received signal. In anotherillustrative embodiment the receiver includes a port for receivingsignals from that second receiver, and processes the signals for thereceiver with the signals of the second receiver to reach a conclusionabout the bona fide of the signals of the second receiver.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a block diagram of a GPS receiver;

FIG. 2 is a block diagram illustrating the processing performed in anacquisition module of a GPS receiver;

FIG. 3 is a block diagram illustrating the processing performed in atracking module of a GPS receiver;

FIG. 4 depicts an arrangement where a first GPS receiving unit that isconstructed in accord with the principles disclosed herein and which isembedded in a portable computer of an employee is communicating to asecond GPS receiving unit that is correspondingly constructed in accordwith the principles disclosed herein in a gateway to an employer's datanetwork;

FIG. 5 illustrates the processing within the second GPS receiver whenthe first receiver obtains good estimates of transit delay, Dopplerfrequency shift and carrier phase shift, and provides a signal to thesecond GPS receiver with carrier wipeoff already carried out;

FIG. 6 illustrates the processing within the second GPS receiver whenthe first receiver obtains good estimates of transit delay, Dopplerfrequency shift and carrier phase shift, and provides to the second GPSreceiver a the raw signal that contains information about all satelliteswhose signals are received by the first GPS receiver, and the transitdelay, Doppler frequency shift and carrier phase shift estimates of allof those satellites;

FIG. 7 illustrates the processing within the second GPS receiver whenthe signal that the first GPS receiver sends is the raw signal only; and

FIG. 8 presents an illustrative example of a three party embodiment ofthis invention, involving a supplicant, a resource, and anauthentication authority.

DETAILED DESCRIPTION

An important realization that is disclosed herein is that given a signalfrom a source that comprises a secure, though unknown, component and acorresponding known but not secure component, where both the known andunknown components are similarly affected by physical conditions andthose effects are computed for the known component, it is possible toauthenticate the known component by using a second signal that is achanged version of the signal from the source—where either the secondsignal or the given signal is known to be bona fide—through use of theunknown components of the given signal and of the second signal.

The following applies this insight to the problem where the source isone or more satellites that output signals which are used for variouspurposes, including global positioning; and more particularly to theaforementioned problem in the context of the Global Positioning System.It should be understood, however, that the principles disclosed hereinare not limited to the illustrative embodiment presented below.

FIG. 4 represents one illustrative embodiment of the invention disclosedherein, where unit 201 is a GPS receiver that is modified in accord withthe principles disclosed herein and which, illustratively, is embeddedin portable computer 200 of an employee. For security reasons, theemployer of this employee wishes to preclude access by that portablecomputer relative to at least some of the employer's resources (e.g.,files pertaining to some project) unless that portable computer is atone of the employer's numerous locations. Therefore the employerinstalls unit 301 in gateway 300, which is the point of entry to theemployer's data network of the employer, and unit 301 is a GPS receiverthat is also modified in accord with the principles disclosed herein.For the illustrative example of FIG. 4, it is presumed that the employeris satisfied that receiver 301 receives bona fide satellite signals.

In addition to units 201 and 301, FIG. 4 includes a communication link30 by which communication can flow between units 201 and 301. Forpurposes of the global location authentication that is described below,the communication link does not need to be secure. It is expected,however, that in some applications this link will need to be secure; forexample, where this communication link is also used to send backauthorizations.

Unit 201 receives the signals from a number of satellites and processesthem as described above to compute the global position of unit 201 basedon the received signals. In the course of processing the signal ofsatellite n, the signal of equation (12) is developed, and as part ofdeveloping this signal unit 201 creates a signal that corresponds to thereceived (and downshifted) signal of equation (6) multiplied by thephasor of equation (8). That is, unit 201 creates the signal(downshifted, carrier wipeoff relative to satellite n, but not C/A codewipeoff):

$\begin{matrix}{{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} + {\hat{\theta}}_{1}^{A}} \right)} +} \\{{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} -} \\{{i\; {\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} + {\hat{\theta}}_{1}^{A}} \right)}} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix}} + {B^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}{\begin{Bmatrix}{{\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} + {\hat{\theta}}_{1}^{A}} \right)} +} \\{{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} +} \\{{i\; {\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} + {\hat{\theta}}_{1}^{A}} \right)}} -} \\{i\; {\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix}.}}} & (20)\end{matrix}$

where the superscript A designates the signal of unit 201.

A low pass filter discards the terms with frequency on the order of2πf_(IF), leaving

$\begin{matrix}{{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix}} + {B^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} -} \\{i\; {\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix}}} & (21)\end{matrix}$

which can be written as

S _(I) ^(A) +iS _(Q) ^(A)  (22)

where

S _(I) ^(A) =A ^(A) D ^(A)(t−τ ^(A))x _(C) ^(A)(t−τ ^(A))cos(2π(f _(D)^(A) −{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A)−{circumflex over (θ)}₁^(A))+B ^(A) D ^(A)(t−τ ^(A))x _(Y) ^(A)(t−τ ^(A))sin(2π(f _(D) ^(A)−{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A))t+θ ₁ ^(A)−{circumflex over(θ)}₁ ^(A))  (23)

and

S _(Q) ^(A) =A ^(A) D ^(A)(t−τ ^(A))x _(C) ^(A)(t−τ ^(A))sin(2π(f _(D)^(A) −{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A)−{circumflex over (θ)}₁^(A))−B ^(A) D ^(A)(t−τ ^(A))x _(Y) ^(A)(t−τ ^(A))cos(2π(f _(D) ^(A)−{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A))t+θ ₁ ^(A)−{circumflex over(θ)}₁ ^(A))  (24)

Approach A

In accordance with a first approach, unit 201 sends the quadraturesignal of equation (24) to unit 301 over link 30, together withidentification of the satellite whose signal the sent signal represents.

Unit 301 develops a similar signal; that is,

S _(Q) ^(B) =A ^(B) D ^(B)(t−τ ^(B) x _(C) ^(B)(t−τ ^(B)(t−τ^(B))sin(2π(f _(D) ^(B) −{circumflex over (f)} _(D) ^(B))t+θ ₁^(B)−{circumflex over (θ)}₁ ^(B))−B ^(B) D ^(B)(t−τ ^(B))x _(Y) ^(B)(t−τ^(B))cos(2π(f _(D) ^(B) −{circumflex over (f)} _(D) ^(B))t+θ ₁^(B)−{circumflex over (θ)}₁ ^(B)).  (25)

The transit time from a satellite to unit 201, τ^(A), is different fromthe transit time from the same satellite to unit 301, τ^(B), so inaccord with the first approach, the signal received from unit 201 isdelayed by δ, where δ may be a positive or negative quantity, and aproduct of the signals S_(Q) ^(A)(delayed) and S_(Q) ^(B) is integrated;i.e.,

$\begin{matrix}\begin{matrix}{S = {\int\left\lbrack {{S_{Q}^{A}({delayed})} \times S_{Q}^{B}} \right\rbrack}} \\{= \begin{bmatrix}{\begin{Bmatrix}\begin{matrix}{A^{A}{D^{A}\left( {t - \tau^{A} - \delta} \right)}{x_{C}^{A}\left( {t - \tau^{A} - \delta} \right)}} \\{{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}\left( {t - \delta} \right)} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)} - {B^{A}{D^{A}\left( {t - \tau^{A} - \delta} \right)}x_{Y}^{A}}}\end{matrix} \\{\left( {t - \tau^{A} - \delta} \right){\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A} - {\hat{\theta}}_{1}^{A}} \right)}}\end{Bmatrix} \times} \\\begin{Bmatrix}{{A^{B}{D^{B}\left( {t - \tau^{B}} \right)}{x_{C}^{B}\left( {t - \tau^{B}} \right)}{\sin \left( {{2{\pi \left( {f_{D}^{B} - {\hat{f}}_{D}^{B}} \right)}t} + \theta_{1}^{B} - {\hat{\theta}}_{1}^{B}} \right)}} -} \\{B^{B}{D^{B}\left( {t - \tau^{B}} \right)}{x_{Y}^{B}\left( {t - \tau^{B}} \right)}{\cos \left( {{2{\pi \left( {f_{D}^{B} - {\hat{f}}_{D}^{B}} \right)}t} + \theta_{1}^{B} - {\hat{\theta}}_{1}^{B}} \right)}}\end{Bmatrix}\end{bmatrix}}\end{matrix} & (26)\end{matrix}$

which can be written in more manageable form as

S=∫[XU−YU−XW+YW]  (27)

where

X=A ^(A) D ^(A)(t−τ ^(A)−δ)x _(C) ^(A)(t−τ ^(A)−δ)sin(2π(f _(D) ^(A)−{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A)−{circumflex over (θ)}₁^(A))  (28)

Y=B ^(A) D ^(A)(t−τ ^(A)−δ)x _(Y) ^(A)(t−τ ^(A)−δ)cos(2π(f _(D) ^(A)−{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A)−{circumflex over (θ)}₁^(A))  (29)

U=A ^(B) D ^(B)(t−τ ^(B))x _(C) ^(B)(t−τ ^(B))sin(2π(f _(D) ^(B)−{circumflex over (f)} _(D) ^(B))t+θ ₁ ^(B)−{circumflex over (θ)}₁^(B))  (30)

and

W=B ^(B) D ^(B)(t−τ ^(B))x _(Y) ^(B)(t−τ ^(B))cos(2π(f _(B) ^(B)−{circumflex over (f)} _(D) ^(B))t+θ ₁ ^(B)−{circumflex over (θ)}₁^(B)).  (31)

As indicated above, the estimates of τ^(A), {circumflex over (f)}_(D)^(A), and {circumflex over (θ)}₁ ^(A), are quite good, and so are theestimates of τ^(B), {circumflex over (f)}_(D) ^(B), and {circumflex over(θ)}₁ ^(b). Given accurate information about the phase shifts, unit 301can perform coherent demodulation. Consequently, over the integrationinterval that needs to be employed for equation (26), the sin( ) termscan be replaced with 0 (i.e., X=U=0), and the cos( ) terms can bereplaced with their respective coefficients. This leads to

S=B ^(A) B ^(B) ∫D ^(A)(t−τ ^(A)−δ)D ^(B)(t−τ ^(B))x _(Y) ^(A)(t−τ^(A)−δ)x _(Y) ^(B)(t−τ ^(B)).  (32)

Clearly, when the signal of unit 301 is bona fide and, therefore,

x_(Y) ^(B)(t−τ^(B)) is equal to x_(Y) ^(A)t−τ^(A)),

D^(A)(t−τ^(A)) is equal to D^(B)(t−τ^(B)), and

(D^(B)(t−τ^(B)))²=1, because the message signal, D, can only have ±1values. Thus, the value of S in equation (32) is maximum whenδ=τ^(B)−τ^(A); i.e.,

S=B ^(A) B ^(B),  (33)

Thus, without knowing the Y code signal x_(y) (t−τ), the arrangement ofFIG. 4 executes a method that recognizes—by the value of S for differentvalues of δ—when a signal that is received by unit 201 and a signal thatis received by unit 301 originate from a given source that outputs asignal that is modulated with a signal x_(y)(t−τ), when that is thecase; and conversely, recognizes when one of the signals is not from thegiven source.

One can appreciate that the receiver shown in FIG. 1 includes processor100 and memory 110 that operate on digital signals and, therefore, canbe implemented in a programmed general purpose processor. Similarly,unit 201 can include hardware elements that correspond to elements 10,12, 15, 18, 20 and 22, and employ the computing power of portablecomputer 200 to carry out the various calculations disclosed above,which in the FIG. 1 embodiment would be performed in element 100 and itsassociated memory 110. The software that is necessary in unit 201 toaugment the conventional receiver advantageously implements a filter todevelop the signal of equation (24) from the signal of equation (20),and a module for sending to line 30 the signal of equation (24), and theidentity of the satellite whose signal is represented by the sentsignal. This extremely modest addition to the software is quite simple,which a skilled artisan can create without undue experimentation in anyone of a number of techniques that are well known in the art.

The modification to the GPS receiver in unit 301 is somewhat greaterthan in unit 201, but still quite simple to implement in a programmedgeneral purpose processor (which may be part of the processor thatgateway 200 employs). FIG. 5 diagrammatically shows unit 301 to includea port to receive the signal sent by unit 201, a delay unit 21 that isresponsive to the equation (25) signal, and a correlation module 25 thatis responsive to the delayed signal at the output of delay unit 21 andto the signal of equation (25) that is extracted from the signals thatthe conventional GPS receiver creates in the course of determining itsglobal position.

The correlation unit computes the integral of equation (26) withfunction S=function A( ), and provides the developed value S tocontroller module 23. The correlation function provides an indication ofthe degree to which signal A, with some delay, is the same as signal B.When they are indeed the same, then the correlation outputs a highvalue, or a peak. Bogus signals, even when they are somewhat similar tothe authentic signal, will result in lower correlation value regardlessof what delay is chosen. One simple way, therefore, is to compare thestrongest correlation peak to the next strongest peak. This isillustrated by the following function that module 23 executes:

for δ (−N,+N,_(Δ)N) do   Call S=function A(δ)   If S > S_(highWaterMark)then {     S_(nextHighest) = S_(highWaterMark)     S_(highWaterMark) = S} Done if (S_(highWaterMark) / S_(nextHighest)) > Threshold then output“OK” else output “NOT OK” end ifwhere N is greater than the expected delay difference (τ^(B)−τ^(A)) andΔN is the increment that a designer might choose to employ in seekingthe maximum in the correlation function of equation (26). Of course, ifunit 201 were to send the value of {circumflex over (τ)}^(B) along withthe signal of equation (24) then the range of N can be reducedsignificantly because it would be expected to find a maximum at δ=0.

It should be noted that the above is just one embodiment of the testthat is performed on the correlation results. It may be noted, forexample, that in embodiments that employ high sampling rates severallarge peaks may appear, but those peak are artifacts, and in suchembodiments other tests are typically employed that factor in thesampling rate (as related to ΔN) and the relative position of the peaks,to determine which points to compare for the threshold.

It is recognized that in order to compute a global position, the signalof more than one satellite must be used. Therefore, authenticating thesignal of one satellite, as disclosed above, does not, ipso facto,guarantee that unit 201 is not impacted by a bogus signal relative tothe signal of another satellite that it is using for its global positioncomputations. If it is so impacted, then one cannot trust its assertionregarding its global position. However, time can be divided into fairlylong-duration frames, and during each frame a different one of thesignals that unit 201 employs can be sent to unit 301 forauthentication. If all of the signals are authenticated, then one cantrust that the position asserted by unit 201 is valid in the sense thatit has not been compromised by a hostile party causing it to receivebogus signals.

It should also be noted that the location can be computed using morethan the minimum number of satellites (4 satellites to compute latitude,longitude, elevation and GPS time) and that not all of the satellitesignals need to be authenticated. Having a majority of the signalsauthenticated can be used to test the consistency of non-authenticatedsignals, provided that the location estimate reported by unit 201 agreeswith the location estimate developed using a subset of authenticatedsatellites.

Once confidence is gained about the signals provided by unit 201 thatare used to compute a global position of unit 201 then one can also haveconfidence in an identification of the global position by unit 201 asasserted by unit 201. This assumes, of course, that unit 201 doescompute its global position (in a completely conventional way) andreports its position to unit 301.

Alternatively, instead of trusting unit 201's assertion of its position,it is possible to have unit 301 compute the position of unit 201. Thissecure position determination is achieved by unit 201 sending theequation (24) signals of a number of satellites that is necessary tocompute a position. Noting that the 8 determined relative to a satelliteinforms of the transit delay from the satellite to unit 201(τ^(B)=τ^(A)+δ), given a sufficient number of transit delays (combinedwith unit 301's global position and information about the satellites'locations) the global position of unit 201 can be ascertained throughconventional calculations.

It may be appreciated that authenticating an asserted position, orsecurely determining a position, does not need to be done continually.At times the global position of unit 201 is immaterial. At other times,one can assume that unit 201 has not significantly wandered off theauthenticated position. Therefore, in many applications it is acceptableif unit 201 sends only a signal segment, or snapshot, to unit 301. Inother applications it may be advisable to send a signal snapshot on someregular basis.

It should be appreciated that the FIG. 4 arrangement where unit 201 iswithin computer 200 and utilizes the computing power that is otherwiseavailable in the computer is merely illustrative. Unit 201 may have thefull computing capabilities within itself (note the processor in unit201), and it may be a stand-alone item, an item that is pluggable into adevice such as portable 200, or it may be permanently (orsemi-permanently) attached to an article and so transported from placeto place; e.g., attached to a shipping container.

It should also be appreciated that unit 201 may contain a memory forstoring one or more signal segments (raw, or processed), and the storedinformation may be communicated to unit 301 at some later time (i.e., anon-real time operation) by relatively direct connection; that is,without the use of a communication network that is shown in FIG. 4. Thetransfer of information may be initiated by a push-button switch in unit201 (not explicitly shown in FIG. 4), by an electronic instruction fromunit 301, by physically transferring the memory from unit 203 (see FIG.7) to an appropriate connector on unit 301, or by some otherconventional means.

The above discloses an arrangement where unit 201 sends to unit 301 thesignal of equation (24), which is the signal after carrier wipeoffrelative to satellite n. When sending the signals of M satellites, Msuch signals need to be sent. There are certainly applications wherethis is acceptable but if the M signals need to be sent concurrently,then the bandwidth of path 30 must be M times greater than the bandwidthrequired to send one signal.

In an alternative embodiment, shown in FIG. 6, rather than sendingquadrature channel signal as described above, unit 201 sends to unit 302the raw data and also sends the computed Doppler frequency and carrierphase estimates for at least each of the satellites that is used incomputing its global position. The difference between unit 301 and 302is that in unit 302 the raw data and the estimates are processed inprocessor 24 to develop the quadrature channel signal of equation (24).The bandwidth requirement (for sending the signal from unit 201 to unit301) is essentially unchanged from the bandwidth needed for onesatellite signal.

In some applications a small size for the device (unit 200 in FIG. 4)may be more important than the ability of the device to know its ownglobal position. Indeed, in some applications it may be totallyunimportant for the GPS receiver to know its location but, rather, itmay suffice for the other receiver (e.g., unit 301 in FIG. 4) to knowwhere unit 200 is, or has been. In other words, there are applicationswhere it may not be necessary for the GPS receiver do the processingthat is associated determining its global position. To that end, unit203 (FIG. 7) needs to merely send its raw signal to receiver 303 (FIG.7), or record signal segments internally for future delivery to unit303.

Approach B

FIG. 7 depicts an arrangement with the GPS receiver 203 that isoptionally devoid of the processing that involves carrier wipeoff andcode wipeoff. The receiver, 203, only downshifts the received signal andsends this raw data to receiver 303 (without any delay, Doppler shift,or phase estimates), together, perhaps with some general informationabout its presumed (or asserted) location. The raw data might be sentimmediately, or stored in a local memory, and sent at a later time. Inother words, the signal that is provided to receiver 303 by receiver 203is:

S _(downshifted) ^(A) =A ^(A) D ^(A)(t−τ ^(A))x _(C) ^(A)(t−τ^(A))cos(2π(f _(IF) −f _(D) ^(A))t+θ ₁ ^(A))+BD(t−τ _(A))x _(Y) ^(A)(t−τ^(A))sin(2π(f _(IF) +f _(D) ^(A))t+θ ₁ ^(A))  (34)

and a rough location information which, from satellite orbit tables thatare publicly known, an estimate {circumflex over (f)}_(D) ^(A) isobtained. The rough information may be in the form of an assertion as tothe location of receiver 203. It is recognized that no information isavailable about the value of θ^(A), and that the estimate {circumflexover (f)}_(D) ^(A) is likely to be inaccurate but it is neverthelesshelpful, as is demonstrated below. Absent information about θ^(A),processor 24 executes non-coherent demodulation and multiplies theincoming signal by

cos 2π(f _(IF) +{circumflex over (f)} _(D) ^(A))t+i sin 2π(f _(IF)+{circumflex over (f)} _(D) ^(A))t  (35)

to result in

$\begin{matrix}{{A^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{C}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)} +} \\{{\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)} -} \\{{i\; {\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}} +} \\{i\; {\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}}\end{Bmatrix}} + {B^{A}{D^{A}\left( {t - \tau^{A}} \right)}{x_{Y}^{A}\left( {t - \tau^{A}} \right)}\begin{Bmatrix}{{\sin \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)} +} \\{{\sin \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)} +} \\{{i\; {\cos \left( {{2{\pi \left( {{2f_{IF}} + f_{D}^{A} + {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}} -} \\{i\; {\cos \left( {{2{\pi \left( {f_{D}^{A} - {\hat{f}}_{D}^{A}} \right)}t} + \theta_{1}^{A}} \right)}}\end{Bmatrix}}} & (36)\end{matrix}$

and recognizing that a later integration operation operates as a lowpass filter that discards the signal components that include the2f_(IF), frequency, equation (34) can be simplified to

S _(I) ^(A) +S _(Q) ^(A)=(W+X)+i(Y−Z)  (37)

where

W=A ^(A) D ^(A)(t−τ ^(A))x _(C) ^(A)(t−τ ^(A))cos(2π(f _(D) ^(A)−{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A))  (38)

X=B ^(A) D ^(A)(t−τ ^(A))x _(Y) ^(A)(t−τ ^(A))sin(2π(f _(D) ^(A)−{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A))  (39)

Y=A ^(A) D ^(A)(t−τ ^(A))x _(C) ^(A)(t−τ ^(A))sin(2π(f _(D) ^(A)−{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A))  (40)

and

Z=B ^(A) D ^(A)(t−τ ^(A))x _(Y) ^(A)(t−τ ^(A))cos(2π(f _(D) ^(A)−{circumflex over (f)} _(D) ^(A))t+θ ₁ ^(A)).  (41)

Delay element 21 of FIG. 7 introduces delay 8, and element 26 in theFIG. 7 embodiment executes the integration

$\begin{matrix}{S = {\sqrt{\left( {\int{{S_{I}^{A}({delayed})} \times S_{Q}^{B}}} \right)^{2} + \left( {\int{{S_{Q}^{A}({delayed})} \times S_{Q}^{B}}} \right)^{2}}.}} & (42)\end{matrix}$

Noting that equation (25) specifies S_(Q) ^(B), which can be expressedby

S _(Q) ^(B) =U+V

where

U=A ^(B) D ^(B)(t−τ ^(B))x _(C) ^(B)(t−{circumflex over (τ)}^(B))sin(2π(f _(D) ^(B) −{circumflex over (f)} _(D) ^(B))t+θ ₁^(B)−{circumflex over (θ)}₁ ^(B))  (43)

and

V=−B ^(B) D ^(B)(t−τ ^(B))x _(Y) ^(B)(t−{circumflex over (τ)}^(B))cos(2π(f _(D) ^(B) −{circumflex over (f)} _(D) ^(B))t+θ ₁^(B)−{circumflex over (θ)}₁ ^(B)),  (44)

equation (42) can be expressed as

$\begin{matrix}{S = \sqrt{\left( {\int\left( {{W^{\prime}U} + {W^{\prime}V} + {X^{\prime}U} + {X^{\prime}V}} \right)} \right)^{2} + \left( {\int\left( {{Y^{\prime}U} + {Y^{\prime}V} + {Z^{\prime}U} + {Z^{\prime}V}} \right)} \right)^{2}}} & (45)\end{matrix}$

where the primed variables (e.g., W) are the delayed version of theunprimed variables (e.g., W).

A number of observations and approximations can be made that reduce thecomplexity of equation (45).

-   -   Since the approximations of the Doppler frequency and carrier        phase shift for unit 303 signal are good, the U term can be        replaced by 0, and the cos( ) term in the V term can be replaced        by 1.    -   The W and the Y terms have the x_(C) ^(A)(t−τ^(A)) code signal        multiplier whereas the V term has the x_(Y) ^(B)(t−{circumflex        over (τ)}^(B)) code signal multiplier, and since the two codes        are orthogonal to each other, the contributions of the WV and        the YV terms to the integral is roughly 0    -   As indicated above, the estimate {circumflex over (f)}_(D) ^(A)        is not necessarily an accurate estimate, but even it if a rough        estimate, the resulting trigonometric function varies slowly        relative to the chip rate of the Y code, which allows the        non-trigonometric factors that are common to XV and ZV to be        factored out, and then the sum of squared sin( ) and cos( )        terms that remain can be replaced by 1.

The above allows reducing equation (45) to

S=B ^(A) B ^(B) ∫D ^(A)(t−τ ^(A)−δ)D ^(B)(t−Σ ^(B))x _(Y) ^(A)(t−τ_(A)−δ)x _(Y) ^(B)(t−{circumflex over (τ)} ^(B)),  (46)

so it is quite clear that the integration result exhibits a maximum whenτ^(A)+δ={circumflex over (τ)}^(B) and the code x_(Y) ^(A)(t)=x_(Y)^(B)(t).

As before, controller 23 finds the delay 8 that provides the peak valueof S, and compares it to other values in order to determine whether thesignal send by unit 203 contains a bona fide signal from that particularsatellite for which the processing operation of equation (46) was justexecuted.

Needless to say, Approaches A and B, described above, are simply twopreferred implementations and many variations exist. For example, unit201 could send C/A code information as well as Y code information. Inthis case, unit 301 could determine the relative timing, δ=τ_(B)−τ^(A),for the C/A code as well as the Y code and insist that they agree. Othervariations exist. Under Approach A, unit 201 performs code and carrierwipeoff and unit 301 coherently demodulates the data. Under Approach B,unit 201 does not perform code or carrier wipeoff. Rather, it sends,more primitive, downshifted data, and unit 301 performs non-coherentdemodulation. This pairing is mutable. In other words, unit 201 couldsend downshifted data and unit 301 could perform coherent demodulation.

The software with which one might wish to implement a particularembodiment of the invention disclosed herein is fairly simple toimplement; though, of course, it takes time to create, as all softwaredoes. Notwithstanding the fact that the software needed to implement theinvention disclosed herein is totally straight forward and can be easilyimplemented without undue experimentation by any person skilled in theart, to assist the reader, an appendix is included herein of an actualembodiment.

The above illustrative embodiment has the first receiver in a portablecomputer and the second receiver in gateway that is remote from theportable computer. Perhaps it should be mentioned explicitly that theassumption is that the signal received by receiver 301 is not impactedby a bogus signal to which the portable computer may be subjected. Amere physical separation, when it is big enough so that the receiversare not subjected to the signal of a given (bogus) source, tends toinsure this situation because a hostile party is not likely to be ableto send a bogus signal to portable 200 and to also send an appropriatereplica of the same bogus signal to receiver 301. Additionally, receiver301 can take steps to insure that this does not happen by, for example,using antennas that are electronically directed to respond well tosignals only from certain directions (where the satellites are expectedto be) and to not respond well to signals from other directions.

The above illustrative embodiment focuses on the processing being donein gateway 300. This makes sense for the illustrative embodiment, but itshould be realized that other embodiments are certainly possible whereit may be desirable to perform the processing in a moving unit thatcontains the receiver that outputs signal A and which potentially isunder electronic attack (e.g., an airplane), for example, where theaction in response to the authentication takes place in moving unitand/or when there are so many moving units that processing in the unitthat generates signal B might overload the capability of the processorthat is available at that location.

It should also be noted that the receiver that generates signal B doesnot need to be stationary because, as indicated above, mutualauthentication is possible if the distance between the two receivers isbig enough so that the receivers are not subjected to the signal of agiven (bogus) source.

The above illustrative embodiment is a two party example (portable 200and gateway 300). FIG. 8 presents an illustrative example of a threeparty embodiment, involving a supplicant (e.g., portable 200), aresource (e.g., gateway 300) and an authentication authority. Signal Ais provided by the supplicant, signal B is provided by theauthentication authority and the processing is performed in any of thethree locations, depending on the particular application and the desiresof the parties. It may be noted that just as there is a memory in unit201 of FIG. 4 for storing time segments of data, unit 301 can alsoinclude a memory for storing raw or processed data; particularly forapplications where the at least some of the authentication processing isperform in other than the authentication authority.

One advantage of the FIG. 8 embodiment is that it efficiently supportsmany supplicant-resource pairs because it requires no GPS receiving orsophisticated processing by the resource, and because the authenticationauthority can afford to make greater efforts to insure that its signal Bis authentic. For example, the supplicants can be bank customers, andthe resources can be banks High powered satellite antennas that arehighly directional are expensive, and banks generally would be happy tonot have to invest in such antennas but allow an authenticationauthority to guarantee that signal B is authentic. The authenticationauthority, on the other hand, can afford to employ expensive antennaarrangements and other techniques to insure the bona fide of signal Bbecause the cost may be amortized over many customers of theauthentication authority.

In addition (or in lieu of) using very directional antennas, theauthentication authority can be located at some physically remotelocation that is secure from transmission by hostile parties. Theremoteness makes it more likely than not that a hostile party will notsucceed in transmitting to the directional antennas, and it will almostcertainly ensure that whatever hostile signal is transmitted to units201 will not correspond to the hostile signals to which theauthentication authority might be subjected. By contrast, banks aresituated in locations that are readily accessible to all.

Further, the authentication authority can be located permanently at itssecure location and can make the effort to know its own global positionwith great accuracy, in contrast to banks that sometimes changelocations. This allows the authentication authority to compute itslocation from the received signals and by comparing the computedlocation with the known location it can confirm that its receivedsignals are bona fide. Moreover, since the authentication of a locationis effectively decided by comparing an asserted location to a locationcomputed relative to the location of the authentication authority, anaccurate location of the authentication authority is important.

Further still, the authentication authority can itself receive othersignals that it can process to confirm the bona fide of its signal B—forexample, from locations that are greatly removed from the authenticationauthority location that receives signal B, or from other systems (e.g.,LORAN).

In yet another improvement, the authentication authority has a number offacilities, at different locations around the globe, and the signal Bthat is used for processing is from a location that is selected trulyrandomly (in contrast to pseudorandomly) from among the differentlocations.

It should be noted that in the above example of bank customers, banks,and an authentication authority, the banks may be satisfied to directcustomers to send signal A to the authentication authority and have theauthentication authority provide the bank (via a securely transmittedmessage) the location of the supplicant customer and a confirmation thatthe location is authentic. Presumably, this would allow the bank toproceed with the transaction in which the bank customer wishes toengage. On the other hand, the bank may wish to merely receive signal Bfrom the authentication authority and itself accept signal A from itscustomers and itself do the processing. In the first case, theprocessing is done at the authentication authority, while in the secondcase the processing is done at the resource.

Thus useful embodiments exist where the processing is performed in thesupplicant's equipment, in the resource's equipment, or in theauthentication authority equipment.

By way of example and not by way of limitation, the followingillustrates a number of applications, in addition to the applicationsdescribed above, to which the principles disclosed herein areapplicable.

Information & Asset Protection: Determine location of a device, such asportable computer 201, and allow operation of that device or access tosensitive information on the device only if the device is at anauthorized location or within an authorized zone.Financial Transaction assurance: Verify that the person (or agent) atthe other end of a communication channel is really who the person claimsto be, by verifying that the communication originates from a known,authorized, and secure location.Fraud Detection & Non-repudiation: Check whether a transactionoriginated from where it claims to have originated, and thereby acquirea confirmation that a document to which an electronic signature isaffixed (or other means of verifying a transaction/communication) reallydid originate from where the message claims to have originated.Asset Tracking & Route Auditing: Confirm where an object is and/orrecreate the route that the object followed during a chosen time span(e.g., while being transported)—by recording signal segments and laterprocessing the signal segments.Internet & Online Security: Confirm that a party that providesinformation or seeks information (e.g., a web server) is located at aparticular spot, which location presumably can be checked against onlinepublic databases or printed (and presumably secure/unmodified) versionsof databases.Secure Electronic communication: Use location to verify identity and toincrease security of cryptographic key exchange between two or moreparties. This includes distribution of encryption/decryption keys(either symmetric or asymmetric), where only a supplicant with thecorrect geo-location can obtain the cryptographic key; or even moresecurely, where the key is never communicated directly, even inencrypted form, and only a supplicant with the correct geo-location candetermine the cryptographic key.Smartcards & Access Control: Confirm location during an access-requesttransaction with a centralized access-granting authority.

1. A method for use by an apparatus in conjunction with a system ofearth-orbiting satellites in which each satellite transmits a globalpositioning system signal containing data that is encoded using a firstcode, which is publicly known, and that is also encoded using a secondcode, which is not known to said server, the method comprising:accepting a commingled signal from a terrestrial supplicant system thecommingled signal being a frequency-shifted version of a superpositionof the satellite signals, as received by said supplicant system duringone or more particular time intervals, the signals in said superpositionincluding said first code and said second code; a server of saidapparatus receiving said particular ones of the signals that weretransmitted from respective ones of the satellites, for said one or moreparticular time intervals, and storing in a memory signals related tothe signals received by said server where said related signals includesaid first code and said second code; and determining terrestrial locusof the supplicant system based on knowledge of the terrestrial locationof the server and results of a correlation between a first signal thatis a version of the accepted commingled signal and a second signal thatis a version of at least three of said GPS signals received by theserver.
 2. The method of claim 1 wherein said accepting and saiddetermining is performed in said server.
 3. The method of claim 1wherein said apparatus comprises said server and a processing devicethat is remote to said server, and said determining is performed in saidprocessing device.
 4. The method of claim 1 wherein each of saidsatellite signals occupies a particular frequency band about a carrierof a first frequency, and the accepted commingled signal is a version ofsaid transmitted satellite signals as received by said supplicant systemat said particular time that occupies a frequency band that issubstantially the same width as said particular frequency band, butshifted to a second carrier of a frequency that is significantly lowerthan said first frequency.
 5. The method of claim 4 wherein the secondfrequency of said down-shifted carrier is close to zero.
 6. The methodof claim 1 wherein an indication of said one or more particular timeintervals is received by the server from the supplicant system.
 7. Themethod of claim 1 further comprising receiving an assertion regardingterrestrial position of said supplicant system, and said determiningreaches a conclusion, based on the determined terrestrial locus, whetherthe assertion is to be confirmed.
 8. The method of claim 7 furthercomprising acting on said conclusion.
 9. The method of claim 8 wheresaid acting comprises sending said conclusion to a remote apparatus. 10.An arrangement employed in conjunction with a system of earth-orbitingsatellites in which each satellite transmits a global positioning systemsignal containing data that is encoded using a first code, which ispublicly known, and that is also encoded using a second code, which isnot known to said server, comprising: a communications module foraccepting a commingled signal transmitted from a terrestrial supplicantsystem over a communications channel, the commingled signal being afrequency-shifted version of a superposition of a plurality of the GPSsignals transmitted from respective ones of the satellites, as receivedby said supplicant system during particular one or more time intervals,the signals in said superposition including said first code and saidsecond code; a receiver in a server of said arrangement for receivingsaid plurality of the GPS signals for said particular one or more timeintervals; a processor in said server for developing processed signalsthat correspond to the signals received by said server, wherein saidprocessed signals contain said first code and said second code; memoryin said server for storing said processed signals; and a computationmodule for determining terrestrial locus of the supplicant system basedon knowledge of the terrestrial location of the server and results of acorrelation between a first signal that is a version of the acceptedcommingled signal, and a second signal that is obtained from saidmemory.
 11. The arrangement of claim 10 further comprising an antennaarrangement coupled to said receiver, where the antenna arrangement isconstructed to enable it being directed to respond well to signals fromcertain spatial directions and to not respond well to signals from otherspatial directions.
 12. The arrangement of claim 10 where saidcommunication module is within said server.
 13. The arrangement of claim10 wherein said communication modules and said computation module arewithin said server.
 14. The arrangement of claim 13 further comprising aremote client apparatus to which said computation module sendsinformation.
 15. The arrangement of claim 10 further comprising a clientapparatus that is remote to said server, and said computation modules iswithin said client apparatus.
 16. The arrangement of claim 10 where saidcomputation module reaches a conclusion, based on a received assertionregarding terrestrial position of said supplicant system, and saiddetermined terrestrial locus, whether the assertion is to be confirmed.